#include <strategy_pattern.h>

int OperationAdd::doOperation(int num1, int num2)
{
    return num1 + num2;
}

int OperationSubtract::doOperation(int num1, int num2)
{
    return num1 - num2;
}

int OperationMultiply::doOperation(int num1, int num2)
{
    return num1 * num2;
}

Context::Context(Strategy* strategy)
{
    this->strategy = strategy;
}

Context::~Context()
{
    delete this->strategy;
}

int Context::executeStrategy(int num1, int num2)
{
    return this->strategy->doOperation(num1, num2);
}
